'use strict';
/**
 * author：小小游 --- allen
 * date：2018.02.08
 * lastUpdateDate：2018.02.08
 * description：变量的对象解构赋值基本用法
 */
 /**
  * 1.这里值得注意的是a和b都是模式，模式是不能被输出的(模式输出会报错的)
  * c才是具体有值的才是变量
  * 2.也就是可以这样理解比如let { a : { b : { c } } } = obj;
  * 在a的右侧，也就是在a :(冒号)的右侧如果它有结构的话，它就不能作为
  * 变量，它只是模式，模式是不能被输出的，这个要理解好
  */
/**
 * 抛出异常的一些情况，比如类似以下的解构是错误的，如下所示：
 */
let { name } = { 'name' : 'allen' };
// result：allen，结果是正确的
console.log(name);

// let name;
// { name } = { 'name' : 'allen' };
// result：执行会抛出错误
// console.log(name);
